﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entidades;
using LogicaNegocio;


namespace LimsWeb.iAdministradors
{
    public partial class AsociarParametro : System.Web.UI.Page
    {
        LN_Parametro oLN_Parametro = new LN_Parametro();
        LN_Muestra oLN_Muestra = new LN_Muestra();

        List<ENT_ProductoParametro> oLista_ProdPara = new List<ENT_ProductoParametro>();
        List<ENT_Parametro> oLista_Parametro = new List<ENT_Parametro>();
        List<ENT_Muestra> oLista_Muestra = new List<ENT_Muestra>();
        List<ENT_Muestra> oLista_MuestraAttr = new List<ENT_Muestra>();

        ENT_Parametro oEnt_Producto = new ENT_Parametro();
        ENT_Muestra oEnt_Muestra = new ENT_Muestra();


        protected void Page_Load(object sender, EventArgs e)
        {

            Session["ProdLabID"] = "1";
            try
            {
                int usuarioID = Int32.Parse(Session["UsuarioID"].ToString());
                Session["NomProducto"].ToString();
                Session["ProdLabCod"].ToString();
            }
            catch
            {
                Response.Redirect("../iRegistro/Login.aspx");
                return;
            }

            if (!IsPostBack)
            {
                lblProducto.Text = Session["NomLaboratorio"].ToString() + "/" + Session["NomProducto"].ToString();

                oLista_Muestra = oLN_Muestra.ListarMuestras(Session["ProdLabCod"].ToString());

                gvMuestra.DataSource = oLista_Muestra;
                gvMuestra.DataBind();



                try
                {
                    int MuestraID = -1;
                    string CodigoMuetra = string.Empty;
                    foreach (ENT_Muestra oEnt in oLista_Muestra) {
                        MuestraID = oEnt.MuestraID;
                        CodigoMuetra = oEnt.CodigoMuestra;
                        break;
                    }


                    oLista_Muestra = oLN_Muestra.ObtenerMuestras(MuestraID);
                    oLista_MuestraAttr = oLN_Muestra.ObtenerMuestrasAttr(MuestraID);

                    foreach (ENT_Muestra oEnti in oLista_MuestraAttr)
                    {

                        oLista_Muestra.Add(oEnti);
                    }
                    gvInfoMuestra.DataSource = oLista_Muestra;
                    gvInfoMuestra.DataBind();
                    lblNombreMuestra.Text = "Muestra : " + CodigoMuetra;

                }
                catch (Exception ex)
                {
                    Response.Write("<script>alert('Error al cargar datos..." + ex.Message + "');</script>");
                }



            }
            else { }




        }

        protected void btnGenerarReporte_Click(object sender, EventArgs e)
        {
            Response.Redirect("Reportes.aspx");
        }

        protected void btnInforme_Click(object sender, EventArgs e)
        {
            Response.Redirect("Producto.aspx");
        }
       
        protected void btnEditar_Command(object sender, CommandEventArgs e)
        {
            try
            {
                string strID = e.CommandArgument.ToString();
                string[] datos = strID.Split('{');
                int MuestraID = 0;
                MuestraID = Int32.Parse(datos[0].ToString().Trim());

                oLista_Muestra      = oLN_Muestra.ObtenerMuestras(MuestraID);
                oLista_MuestraAttr  = oLN_Muestra.ObtenerMuestrasAttr(MuestraID);

                foreach (ENT_Muestra oEnti in oLista_MuestraAttr) {

                    oLista_Muestra.Add(oEnti);
                }
         
                
                gvInfoMuestra.DataSource = oLista_Muestra;
                gvInfoMuestra.DataBind();
                lblNombreMuestra.Text = "Muestra : "+ (datos[1].ToString().Trim()).ToString();

            }
            catch (Exception ex)
            {
                Response.Write("<script>alert('Error al cargar datos..." + ex.Message + "');</script>");
            }
        }

  



        protected void btnEliminar_Command(object sender, CommandEventArgs e)
        {
            try
            {
                string strID = e.CommandArgument.ToString();
                string[] datos = strID.Split('{');

                oLN_Muestra.EliminarMuestraCabecera(Int32.Parse(datos[0].ToString().Trim()));
                oLista_Muestra = oLN_Muestra.ListarMuestras(Session["ProdLabCod"].ToString());
                gvMuestra.DataSource = oLista_Muestra;
                gvMuestra.DataBind();
            }
            catch (Exception ex)
            {
                Response.Write("<script>alert('Error al eliminar..." + ex.Message + "');</script>");
            }
        }


        protected void btnEliminarMuestraDetalle_Command(object sender, CommandEventArgs e)
        {
            try
            {
                string strID = e.CommandArgument.ToString();
                string[] datos = strID.Split('{');

                oLN_Muestra.EliminarMuestraDetalle(Int32.Parse(datos[0].ToString().Trim())); //MuestraDetalleID

                int MuestraID = Int32.Parse(datos[1].ToString().Trim());

                oLista_Muestra = oLN_Muestra.ObtenerMuestras(MuestraID);
                oLista_MuestraAttr = oLN_Muestra.ObtenerMuestrasAttr(MuestraID);

                foreach (ENT_Muestra oEnti in oLista_MuestraAttr)
                {

                    oLista_Muestra.Add(oEnti);
                }


                gvInfoMuestra.DataSource = oLista_Muestra;
                gvInfoMuestra.DataBind();
            }
            catch (Exception ex)
            {
                Response.Write("<script>alert('Error al eliminar..." + ex.Message + "');</script>");
            }
        }

        protected void btnHistorial_Click(object sender, EventArgs e)
        {
            Response.Redirect("Historial.aspx");
        }
 
    }
}
